package it.unibo.as.HeartsLogic;

import java.util.ArrayList;

/**
 *
 * @author lilith
 */
 class DeckCard {
    
    ArrayList<Card> CardArray;

    public DeckCard() {
        
        CardArray = new ArrayList<Card>();
        
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_A));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_2));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_3));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_4));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_5));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_6));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_7));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_8));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_9));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_10));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_J));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_Q));
        CardArray.add(new Card(Common.SEED_SPADES + Common.CARD_K));
        
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_A));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_2));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_3));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_4));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_5));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_6));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_7));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_8));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_9));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_10));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_J));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_Q));
        CardArray.add(new Card(Common.SEED_FLOWERS + Common.CARD_K));
        
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_A));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_2));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_3));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_4));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_5));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_6));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_7));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_8));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_9));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_10));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_J));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_Q));
        CardArray.add(new Card(Common.SEED_DIAMONDS + Common.CARD_K));
        
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_A));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_2));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_3));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_4));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_5));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_6));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_7));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_8));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_9));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_10));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_J));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_Q));
        CardArray.add(new Card(Common.SEED_HEARTS + Common.CARD_K));   
    }
    
    public void getPlayerCard(Player[] PlayerArray)
    {
        for(int i = 0; i < Common.PLAYER_NUM; i++)
        {
            ArrayList<Card> PlayerCardArray = new ArrayList<Card>();

            if(CardArray.size() > 0)
            {
                if(CardArray.size() > Common.CARD_NUM)
                {
                    for(int j = 0; j < Common.CARD_NUM; j++)
                    {
                        int nIndex = (int)(Math.random() * CardArray.size());
                        PlayerCardArray.add(CardArray.remove(nIndex));
                    }
                }
                else
                {
                    PlayerCardArray.addAll(CardArray);
                }
            }

            PlayerArray[i].setCard(PlayerCardArray);
        }
    }    
}
